In a multi-tenant environment where multiple tenants or users may concurrently execute tasks on the same computing device, virtualization technologies can be used to provide each tenant with one or more virtual machines that act as discrete computing units within the same computing device. Each virtual machine may have its own dedicated computing resources allocated to the corresponding tenant. However, because each tenant may implement different services or functionalities on the same computing device, the amounts and types of computing resources that may be required by each tenant can be different and may change over time.